
package com.hlkj.pay.service.merchant;
/*
 * Hlpay-Plus aggregate payment system.
 * Copyright (c) 2024-2025 Hlpay Team Copyright has the right of final interpretation.
 */

import com.hlkj.framework.common.pojo.PageResult;
import com.hlkj.pay.dto.merchant.report.MerchantReportAmountPageDto;
import com.hlkj.pay.dto.merchant.report.MerchantReportAmountPageQueryDto;
import com.hlkj.pay.enums.MerchantEnum;
import com.hlkj.pay.infrastructure.model.merchant.MerchantReportAmountDO;

/**
 * @author HlpayTeam
 * @date 2024/12/20 13:16
 */
public interface IMerchantReportAmountService {

    /**
     *
     * @param merchantReportAmount
     */
    void addReportAmount(MerchantReportAmountDO merchantReportAmount);

    /**
     *
     * @param id
     */
    MerchantReportAmountDO queryAmountByReportId(Long reportId, MerchantEnum.REPORT_AMOUNT_PROCESS_STATUS reportAmountStatus);

    /**
     *
     * @param id
     * @param realAmount
     * @param o
     */
    void updateReportAmount(MerchantReportAmountDO merchantReportAmount);

    /**
     *
     * @param code
     * @return
     */
    MerchantReportAmountDO queryAmountByCode(String code);

    /**
     *
     * @param code
     * @return
     */
    PageResult<MerchantReportAmountPageDto> queryAmountPage(MerchantReportAmountPageQueryDto merchantReportAmountPageQueryDto);
}
